package com.pipi.sso.dao.query;


import com.pipi.sso.dao.support.BaseCriteria;
import com.pipi.sso.dao.support.BaseQuery;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.io.Serializable;

import java.util.Date;
import java.util.List;

public class DormitoryAllocationQuery extends BaseQuery implements Serializable {
    private static final long serialVersionUID = 1L;

    public DormitoryAllocationQuery() {
        super();
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        super.oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * This class corresponds to the database table dorm_dormitory_allocation
     */
         protected abstract static class GeneratedCriteria extends BaseCriteria {

        protected GeneratedCriteria() {
            super();
        }

        public Criteria andDormitoryAllocationIdIsNull() {
            addCriterion("dormitory_allocation_id is null");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdIsNotNull() {
            addCriterion("dormitory_allocation_id is not null");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdEqualTo(Long value) {
            addCriterion("dormitory_allocation_id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdNotEqualTo(Long value) {
            addCriterion("dormitory_allocation_id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria anDormitoryAllocationIdGreaterThan(Long value) {
            addCriterion("dormitory_allocation_id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dormitory_allocation_id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdLessThan(Long value) {
            addCriterion("dormitory_allocation_id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdLessThanOrEqualTo(Long value) {
            addCriterion("dormitory_allocation_id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdIn(List<Long> values) {
            addCriterion("dormitory_allocation_id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdNotIn(List<Long> values) {
            addCriterion("dormitory_allocation_id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdBetween(Long value1, Long value2) {
            addCriterion("dormitory_allocation_id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andDormitoryAllocationIdNotBetween(Long value1, Long value2) {
            addCriterion("dormitory_allocation_id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(Date value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(Date value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(Date value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(Date value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(Date value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(Date value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<Date> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<Date> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(Date value1, Date value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(Date value1, Date value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(Date value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(Date value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(Date value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(Date value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(Date value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(Date value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<Date> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<Date> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(Date value1, Date value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(Date value1, Date value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdIsNull() {
            addCriterion("dormitory_room_id is null");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdIsNotNull() {
            addCriterion("dormitory_room_id is not null");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdEqualTo(Long value) {
            addCriterion("dormitory_room_id =", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdNotEqualTo(Long value) {
            addCriterion("dormitory_room_id <>", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdGreaterThan(Long value) {
            addCriterion("dormitory_room_id >", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dormitory_room_id >=", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdLessThan(Long value) {
            addCriterion("dormitory_room_id <", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdLessThanOrEqualTo(Long value) {
            addCriterion("dormitory_room_id <=", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdLike(Long value) {
            addCriterion("dormitory_room_id like", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdNotLike(Long value) {
            addCriterion("dormitory_room_id not like", value, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdIn(List<Long> values) {
            addCriterion("dormitory_room_id in", values, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdNotIn(List<Long> values) {
            addCriterion("dormitory_room_id not in", values, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdBetween(Long value1, Long value2) {
            addCriterion("dormitory_room_id between", value1, value2, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andDormitoryRoomIdNotBetween(Long value1, Long value2) {
            addCriterion("dormitory_room_id not between", value1, value2, "dormitoryRoomId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdIsNull() {
            addCriterion("building_id is null");
            return (Criteria) this;
        }

        public Criteria andBuildingIdIsNotNull() {
            addCriterion("building_id is not null");
            return (Criteria) this;
        }

        public Criteria andBuildingIdEqualTo(Long value) {
            addCriterion("building_id =", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdNotEqualTo(Long value) {
            addCriterion("building_id <>", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdGreaterThan(Long value) {
            addCriterion("building_id >", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdGreaterThanOrEqualTo(Long value) {
            addCriterion("building_id >=", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdLessThan(Long value) {
            addCriterion("building_id <", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdLessThanOrEqualTo(Long value) {
            addCriterion("building_id <=", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdLike(Long value) {
            addCriterion("building_id like", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdNotLike(Long value) {
            addCriterion("building_id not like", value, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdIn(List<Long> values) {
            addCriterion("building_id in", values, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdNotIn(List<Long> values) {
            addCriterion("building_id not in", values, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdBetween(Long value1, Long value2) {
            addCriterion("building_id between", value1, value2, "buildingId");
            return (Criteria) this;
        }

        public Criteria andBuildingIdNotBetween(Long value1, Long value2) {
            addCriterion("building_id not between", value1, value2, "buildingId");
            return (Criteria) this;
        }

        public Criteria andStudentIdIsNull() {
            addCriterion("student_id is null");
            return (Criteria) this;
        }

        public Criteria andStudentIdIsNotNull() {
            addCriterion("student_id is not null");
            return (Criteria) this;
        }

        public Criteria andStudentIdEqualTo(Long value) {
            addCriterion("student_id =", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotEqualTo(Long value) {
            addCriterion("student_id <>", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdGreaterThan(Long value) {
            addCriterion("student_id >", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdGreaterThanOrEqualTo(Long value) {
            addCriterion("student_id >=", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdLessThan(Long value) {
            addCriterion("student_id <", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdLessThanOrEqualTo(Long value) {
            addCriterion("student_id <=", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdLike(Long value) {
            addCriterion("student_id like", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotLike(Long value) {
            addCriterion("student_id not like", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdIn(List<Long> values) {
            addCriterion("student_id in", values, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotIn(List<Long> values) {
            addCriterion("student_id not in", values, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdBetween(Long value1, Long value2) {
            addCriterion("student_id between", value1, value2, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotBetween(Long value1, Long value2) {
            addCriterion("student_id not between", value1, value2, "studentId");
            return (Criteria) this;
        }

        public Criteria andBedNoIsNull() {
            addCriterion("bed_no is null");
            return (Criteria) this;
        }

        public Criteria andBedNoIsNotNull() {
            addCriterion("bed_no is not null");
            return (Criteria) this;
        }

        public Criteria andBedNoEqualTo(Integer value) {
            addCriterion("bed_no =", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoNotEqualTo(Integer value) {
            addCriterion("bed_no <>", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoGreaterThan(Integer value) {
            addCriterion("bed_no >", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("bed_no >=", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoLessThan(Integer value) {
            addCriterion("bed_no <", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoLessThanOrEqualTo(Integer value) {
            addCriterion("bed_no <=", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoLike(Integer value) {
            addCriterion("bed_no like", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoNotLike(Integer value) {
            addCriterion("bed_no not like", value, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoIn(List<Integer> values) {
            addCriterion("bed_no in", values, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoNotIn(List<Integer> values) {
            addCriterion("bed_no not in", values, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoBetween(Integer value1, Integer value2) {
            addCriterion("bed_no between", value1, value2, "bedNo");
            return (Criteria) this;
        }

        public Criteria andBedNoNotBetween(Integer value1, Integer value2) {
            addCriterion("bed_no not between", value1, value2, "bedNo");
            return (Criteria) this;
        }

        public Criteria andExitTimeIsNull() {
            addCriterion("exit_time is null");
            return (Criteria) this;
        }

        public Criteria andExitTimeIsNotNull() {
            addCriterion("exit_time is not null");
            return (Criteria) this;
        }

        public Criteria andExitTimeEqualTo(Date value) {
            addCriterion("exit_time =", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeNotEqualTo(Date value) {
            addCriterion("exit_time <>", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeGreaterThan(Date value) {
            addCriterion("exit_time >", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("exit_time >=", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeLessThan(Date value) {
            addCriterion("exit_time <", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeLessThanOrEqualTo(Date value) {
            addCriterion("exit_time <=", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeLike(Date value) {
            addCriterion("exit_time like", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeNotLike(Date value) {
            addCriterion("exit_time not like", value, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeIn(List<Date> values) {
            addCriterion("exit_time in", values, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeNotIn(List<Date> values) {
            addCriterion("exit_time not in", values, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeBetween(Date value1, Date value2) {
            addCriterion("exit_time between", value1, value2, "exitTime");
            return (Criteria) this;
        }

        public Criteria andExitTimeNotBetween(Date value1, Date value2) {
            addCriterion("exit_time not between", value1, value2, "exitTime");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNull() {
            addCriterion("is_deleted is null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNotNull() {
            addCriterion("is_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedEqualTo(Integer value) {
            addCriterion("is_deleted =", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotEqualTo(Integer value) {
            addCriterion("is_deleted <>", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThan(Integer value) {
            addCriterion("is_deleted >", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_deleted >=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThan(Integer value) {
            addCriterion("is_deleted <", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("is_deleted <=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLike(Integer value) {
            addCriterion("is_deleted like", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotLike(Integer value) {
            addCriterion("is_deleted not like", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIn(List<Integer> values) {
            addCriterion("is_deleted in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotIn(List<Integer> values) {
            addCriterion("is_deleted not in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted not between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andRoomNameIsNull() {
            addCriterion("room_name is null");
            return (Criteria) this;
        }

        public Criteria andRoomNameIsNotNull() {
            addCriterion("room_name is not null");
            return (Criteria) this;
        }

        public Criteria andRoomNameEqualTo(String value) {
            addCriterion("room_name =", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotEqualTo(String value) {
            addCriterion("room_name <>", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameGreaterThan(String value) {
            addCriterion("room_name >", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameGreaterThanOrEqualTo(String value) {
            addCriterion("room_name >=", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameLessThan(String value) {
            addCriterion("room_name <", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameLessThanOrEqualTo(String value) {
            addCriterion("room_name <=", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameLike(String value) {
            addCriterion("room_name like", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotLike(String value) {
            addCriterion("room_name not like", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameIn(List<String> values) {
            addCriterion("room_name in", values, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotIn(List<String> values) {
            addCriterion("room_name not in", values, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameBetween(String value1, String value2) {
            addCriterion("room_name between", value1, value2, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotBetween(String value1, String value2) {
            addCriterion("room_name not between", value1, value2, "roomName");
            return (Criteria) this;
        }

    }

    /**
     * This class corresponds to the database table dorm_dormitory_allocation
    */
    public  static class Criteria extends GeneratedCriteria{
        protected Criteria() {
            super();
        }
    }



    @Override
    public String toString(){
        return ReflectionToStringBuilder.toString(this, ToStringStyle.DEFAULT_STYLE);
    }
}